'''
Created on 21/05/2012

@author: rcasal
'''

if 0:
    None
    from ComunicacionRepository import ComunicacionRepository
    from DatosComunesRepository import CodTipoDocumentoRepository
    
class ComunicacionServices(object):
    '''
    classdocs
    '''
    @staticmethod    
    def findAll():
        return ComunicacionRepository.findAll
    
    @staticmethod
    def finById(id): #@ReservedAssignment
        return ComunicacionRepository.finById(id)
    
    @staticmethod
    def findLastComunicacionByUserId(idUsuario):
        return ComunicacionRepository.findLastComunicacionByUserId(idUsuario)
    
    
    @staticmethod 
    def datos_comunicaciones_json(id_comunicacion):
        comunicacion = ComunicacionRepository.finById(id_comunicacion)
        if len(comunicacion) == 0:
            return "{error: 'Comunicacion no encontrada'}"
        res = "{error: '', condicion: '%s'," %(comunicacion.condicion)
        res = res + "afiliado:{nombre: '%s', apellido: '%s', tipo_documento: '%s', nro_documento: '%s', cuit: '%s', telefono: '%s', mail: '%s'}," %(comunicacion.nombre, comunicacion.apellido, CodTipoDocumentoRepository.findById(comunicacion.tipo_documento).Codigo, comunicacion.nro_documento, comunicacion.cuit, comunicacion.telefono, comunicacion.mail)
        res = res + "no_afiliado:[{nombre: '%s', apellido: '%s', genero: '%s', telefono: '%s', mail: '%s'}], " %(comunicacion.nombre, comunicacion.apellido, comunicacion.genero,comunicacion.telefono, comunicacion.mail)
        res = res + "empleador:[{razon: '%s', cuit: '%s', telefono: '%s', mail: '%s'}], " %(comunicacion.empresa_prestador, comunicacion.cuit, comunicacion.telefono, comunicacion.mail)
        res = res + "prestador:[{nombre: '%s', cuit: '%s', telefono: '%s', mail: '%s'}]}" %(comunicacion.empresa_prestador, comunicacion.cuit, comunicacion.telefono, comunicacion.mail)
        return  res
    
    @staticmethod
    def saveComunicacion(form_vars): 
        return ComunicacionRepository.save(form_vars)
        
        
        